package br.com.sebrae.pr.sgp.services.impl;

import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;

import br.com.sebrae.pr.sgp.dao.ProcessoDAO;
import br.com.sebrae.pr.sgp.entities.Processo;
import br.com.sebrae.pr.sgp.services.ProcessoServiceRemote;

import com.google.common.base.Preconditions;

@Stateless
@TransactionManagement(value = TransactionManagementType.CONTAINER)
@TransactionAttribute(TransactionAttributeType.SUPPORTS)
public class ProcessoServiceImpl implements ProcessoServiceRemote {
    private static final long serialVersionUID = -5057163011936738135L;
	
    @EJB
	private ProcessoDAO processoDAO;

	// @EJB
	// private MailServiceRemote mailServiceRemote;

	public ProcessoServiceImpl() {
	}

	@Override
	public List<Processo> efetuarPesquisa(final Processo processo) {
		return processoDAO.efetuarPesquisa(processo);
	}

	@Override
	public void salvarOuAtualizar(final Processo processo) {
		Preconditions.checkNotNull(processo, "Processo deve ser informado!");
		Preconditions.checkNotNull(processo.getDescricao(), "Descrição do processo deve ser informado!");
		processoDAO.salvarOuAtualizar(processo);
	}

	@Override
	public Processo pesquisarPorId(long id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Processo> pesquisarTodos() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void salvarOuAtualizar(Processo dto, boolean commit) {
		// TODO Auto-generated method stub

	}

	@Override
	public void deletar(Processo dto, boolean commit) {
		// TODO Auto-generated method stub

	}

	@Override
	public void deletar(Processo dto) {
		// TODO Auto-generated method stub

	}

}
